Image denoising is an important functional block in an image-processing pipeline. The goal of image denoising methods is to recover the original image from a noisy measurement. Images generated by digital camera sensors pick up noise from a variety of sources, which should be reduced for aesthetic or practical (e.g., machine vision) purposes. Ideally, a noise reduction algorithm utilized by an image denoising block should improve image clarity by reducing noise while minimizing loss of real detail. The technical difficulty lies in robustly distinguishing noise from image details.
Many image denoising algorithms that perform some averaging or weighting of a pixel relative to a grouping of pixels spatially surrounding the target pixel are referred to as “local mean” or “local smoothing” filters. Non-local image denoising algorithms, the most prevalent of which is the non-local means (NLM) algorithm, have gained popularity in the last decade because relative to many local mean algorithms post-filtering clarity is improved while the real detail loss is reduced. An NLM filter utilizes redundancy within an image to reduce edge blurring by taking a mean of a greater number of pixels in the image, weighted by how similar the pixels are to the target pixel. More specifically, for each input pixel, a target patch containing the target pixel is determined. Other candidate patches in a neighborhood of the target patch are then assessed for similarity. An average pixel patch is computed as a weighted average of the candidate patches according to the “self-similarity” weight assigned to the candidate patch. The averaged pixel patch is then taken directly as the filtered target pixel output of the NML filter.
While the NLM denoising technique is considered to improve image quality over most local mean filters, the NLM technique favors highly periodic images. Quality loss is predominantly aperiodic detail, with the visual perception being a blurring that affects high-frequency texture regions and unique pixels. Image denoising techniques and hardware architectures capable of improving image clarity while preserving desirable texture and high frequency detail to a greater extent than possible with existing NLM techniques are therefore advantageous.